package EXam.Question11;

import java.util.ArrayList;
import java.util.List;

public class ProvinceTestWithoutStream {

    /*
    1、统计三个字的省份的个数
    2、统计名字中包含方位名词的省份（东西南北）的个数
    3、打印名字中包含方位名词的普通省份（非自治区直辖市特别行政区）的名字
    4、将所有的特殊省份（自治区直辖市特别行政区）提取出来并放到新数组中
    */
    public static void main(String[] args) {
        String[] provinces = {"河北省", "山西省", "吉林省", "辽宁省",
                "黑龙江省", "陕西省", "甘肃省", "青海省", "山东省", "福建省", "浙江省",
                "台湾省", "河南省", "湖北省", "湖南省", "江西省", "江苏省", "安徽省",
                "广东省", "海南省", "四川省", "贵州省", "云南省", "北京市", "天津市",
                "上海市", "重庆市", "内蒙古自治区", "新疆维吾尔自治区", "宁夏回族自治区",
                "广西壮族自治区", "西藏自治区", "香港特别行政区", "澳门特别行政区"};

        // 1、统计三个字的省份的个数
        int countThreeWords = 0;
        for (String province : provinces) {
            if (province.length() == 3) {
                countThreeWords++;
            }
        }
        System.out.println("1. 三个字的省份个数: " + countThreeWords);

        // 2、统计名字中包含方位名词的省份（东西南北）的个数
        int countDirection = 0;
        for (String province : provinces) {
            if (province.contains("东") || province.contains("西") || 
                province.contains("南") || province.contains("北")) {
                countDirection++;
            }
        }
        System.out.println("2. 包含方位词的省份个数: " + countDirection);

        // 3、打印名字中包含方位名词的普通省份（非自治区直辖市特别行政区）的名字
        System.out.println("3. 包含方位词的普通省份:");
        for (String province : provinces) {
            if ((province.contains("东") || province.contains("西") || 
                 province.contains("南") || province.contains("北")) &&
                !province.contains("自治区") && 
                !province.contains("直辖市") && 
                !province.contains("特别行政区")) {
                System.out.println("   " + province);
            }
        }

        // 4、将所有的特殊省份（自治区直辖市特别行政区）提取出来并放到新数组中
        List<String> specialProvinces = new ArrayList<>();
        for (String province : provinces) {
            if (province.contains("自治区") || 
                province.contains("直辖市") || 
                province.contains("特别行政区")) {
                specialProvinces.add(province);
            }
        }
        
        // 转换为数组
        String[] specialProvincesArray = specialProvinces.toArray(new String[0]);
        System.out.println("4. 特殊省份:");
        for (String province : specialProvincesArray) {
            System.out.println("   " + province);
        }
    }
}